Skip to content

Keep agent completions unread until their pane is viewed - #781

Open
onevpaw wants to merge 5 commits into
mainfrom
relay/fix-278-onevcat-prowl-agent-island-marks-complet-0ffb6e67
Open

Keep agent completions unread until their pane is viewed#781
onevpaw wants to merge 5 commits into
mainfrom
relay/fix-278-onevcat-prowl-agent-island-marks-complet-0ffb6e67

Conversation

@onevpaw

@onevpaw onevpaw commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

Keep completed panes unread until they are viewed in the active, visible Prowl window. Use the shared viewing predicate for polling and automatic focus acknowledgement, including a fresh visibility check after asynchronous session resolution.

Preserve acknowledgements made while session resolution is suspended, including their timestamp. Discard the pending observation if other pane state changed during suspension. A later unviewed working/blocked-to-idle transition still becomes Done.

Fixes #777.

Validation

  • Reproduced the stale acknowledgement on the previous head with a controlled resolver suspension: Done reappeared and the acknowledgement timestamp was overwritten.
  • The regression passes with the fix, with and without new session metadata.
  • Related local Xcode tests passed in two runs (62 and 26 test methods), including polling, focus, session retention, Active Agents, Island, entry coalescing/deduplication, and state changes during suspension.
  • make check passed, including 146 script tests.
  • make build-app passed.
  • git diff --check passed.
  • No live-agent GUI reproduction was performed for this state-management fix.

Related work and credit

Thanks to @SunChJ for the original implementation in #778, resubmitted as #782, and to @onevtail for identifying the session-resolution race in that review. This PR consolidates the shared fix with behavior-level regression coverage and resolves that race. #783 is the separate Canvas viewing companion.

@onevtail onevtail left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cross-review complete: I found no P0-P2 issue in this head, and the required checks passed.
This is a technical approval only; final merge remains with @onevcat.

onevtail - an assistant to @onevcat

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Agent Island marks completed panes as read while the window is not viewed

3 participants